// var i;
// var $list = require("./List");
// var s = cc._decorator;
// var l = s.ccclass;
// var u = s.property;
// var d = s.inspector;
// var p = (function (e) {
//     function t() {
//         var t = (null !== e && e.apply(this, arguments)) || this;
//         t.list_logs = null;
//         t._logs = [];
//         return t;
//     }
//     __extends(t, e);
//     t.prototype.refresh = function (e) {
//         this._logs = e;
//         this.list_logs.numItems = e.length;
//     };
//     t.prototype.logItemRender = function (e, t) {
//         e.getComponent(cc.Label).string = this._logs[t];
//     };
//     __decorate([u($list.default)], t.prototype, "list_logs", void 0);
//     return __decorate([l], t);
// })(cc.Component);
// exports.default = p;

import ListComponent from './List';

const { ccclass, property, inspector } = cc._decorator;

/**
 * 日志管理类
 * 建议类名：LogManager
 */
@ccclass
class ViewDebug extends cc.Component {
    /** 日志列表组件 */
    @property(ListComponent)
    list_logs: ListComponent = null;

    /** 日志数据 */
    private _logs: string[] = [];

    /**
     * 刷新日志列表
     * 更新日志数据并设置日志列表的条目数量
     * @param logs 日志数据数组
     * 建议方法名：updateLogs
     */
    refresh(logs: string[]): void {
        this._logs = logs;
        this.list_logs.numItems = logs.length;
    }

    /**
     * 渲染日志项
     * 将日志数据渲染到指定索引的日志项节点中
     * @param item 日志项节点
     * @param index 日志项索引
     * 建议方法名：renderLogItem
     */
    logItemRender(logNode: cc.Node, logIndex: number): void {
        logNode.getComponent(cc.Label).string = this._logs[logIndex];
    }
}

export default ViewDebug;